/**
 * 给定一个字符串，你需要反转字符串中每个单词的字符顺序，同时仍保留空格和单词的初始顺序。

示例：

输入："Let's take LeetCode contest"
输出："s'teL ekat edoCteeL tsetnoc"
 
提示：

在字符串中，每个单词由单个空格分隔，并且字符串中不会有任何额外的空格。
 */

function reverseWords(s: string): string {
    const strs = s.split(" ");
    return strs.map((str) => reverse(str)).join(" ");
}

function reverse(str: string): string {
    const arr = str.split("");
    let L = 0;
    let R = arr.length - 1;
    while (L < R) {
        let tmp = arr[L];
        arr[L] = arr[R];
        arr[R] = tmp;
        L++;
        R--;
    }
    return arr.join("");
}

export { reverseWords };
